1 using UnityEngine;
2 using
System.Collections;
3
4 public
class RPGCamera : MonoBehaviour
5 {
6     
public Transform Target;
7
8     
public float MaximumDistance;
9     
public float MinimumDistance;
10
11     
public float ScrollModifier;
12     
public float TurnModifier;
13
14     Transform m_CameraTransform;
15
16     Vector3 m_LookAtPoint;
17     Vector3 m_LocalForwardVector;
18     
float m_Distance;
19     
20     
void Start()
21     {
22         m_CameraTransform = transform.GetChild(
0 );
23         m_LocalForwardVector = m_CameraTransform.forward;
24
25         m_Distance = -m_CameraTransform.localPosition.z / m_CameraTransform.forward.z;
26         m_Distance = Mathf.Clamp( m_Distance, MinimumDistance, MaximumDistance );
27         m_LookAtPoint = m_CameraTransform.localPosition + m_LocalForwardVector * m_Distance;
28     }
29
30     
void LateUpdate()
31     {
32         UpdateDistance();
33         UpdateZoom();
34         UpdatePosition();
35         UpdateRotation();
36     }
37
38     
void UpdateDistance()
39     {
40         m_Distance = Mathf.Clamp( m_Distance - Input.GetAxis(
"Mouse ScrollWheel" ) * ScrollModifier, MinimumDistance, MaximumDistance );
41     }
42
43     
void UpdateZoom()
44     {
45         m_CameraTransform.localPosition = m_LookAtPoint - m_LocalForwardVector * m_Distance;
46     }
47
48     
void UpdatePosition()
49     {
50         
if( Target == null )
51         {
52             
return;
53         }
54
55         transform.position = Target.transform.position;
56     }
57
58     
void UpdateRotation()
59     {
60         
if( Input.GetMouseButton( 0 ) == true || Input.GetMouseButton( 1 ) == true )
61         {
62             transform.Rotate(
0, Input.GetAxis( "Mouse X" ) * TurnModifier, 0 );
63         }
64
65         
if( Input.GetMouseButton( 1 ) == true && Target != null )
66         {
67             Target.rotation = Quaternion.Euler(
0, transform.rotation.eulerAngles.y, 0 );
68         }
69     }
70 }



Trò chơi Tic-Tac-Toe, game đánh caro full source code 53.511 lượt xem

Gõ tìm kiếm nhanh...